/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package managerMovimento;

import classes.Agenda;
import dao.DaoAgenda;
import java.util.Date;
import java.util.List;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import tabeladedados.TabelaDeDados;
import telaMovimento.MovAgenda;

/**
 *
 * @author fumio
 */
public class managerMovAgenda {

    private DaoAgenda daoAgenda;
    private TabelaDeDados tabela = null;
    private static MovAgenda movAgenda;
    private Agenda agenda;

    public managerMovAgenda() {
        movAgenda = MovAgenda.getInstance(this);
        movAgenda.setVisible(true);
    }

    private void atualizarTabela() {

        if (tabela == null) {
            tabela = new TabelaDeDados(movAgenda.tblAgenda);

            tabela.adicionarColuna("Cliente", 15);
            tabela.adicionarColuna("Funcionário", 40);
            tabela.adicionarColuna("Hora Marcada", 45);
            movAgenda.tblAgenda.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
                @Override
                @SuppressWarnings("empty-statement")
                public void valueChanged(ListSelectionEvent e) {
                    if (e.getValueIsAdjusting()) {
                        agenda = (Agenda) tabela.getObjetoSelecionado();
                    }
                    ;
                }
            });

        }
        tabela.removerTodos();
        List<Agenda> dados = daoAgenda.consultar((new Date()).toString(), "dataAgendada");

        Agenda aux;
        for (int i = 0; i < dados.size(); i++) {
            aux = (Agenda) dados.get(i);
            Object[] linha = {aux.getCliente().getNome(), aux.getFuncionario().getNome(), aux.getHoraAgendada()};
            tabela.adicionarLinha(linha);
        }
        tabela.setDados(dados);
    }

    public Agenda selecionaAgenda() {
        atualizarTabela();
        return agenda;
    }
}
